package pe.com.cotelasa.scp.dominio.modelo;

import java.util.Collection;
import java.util.List;

import org.primefaces.model.UploadedFile;

import pe.com.cotelasa.scp.dominio.excepcion.ModelExcepcion;
import pe.com.cotelasa.scp.entidad.Contacto;
import pe.com.cotelasa.scp.entidad.Empresa;
import pe.com.cotelasa.scp.entidad.Sede;

public interface EmpresaModel {

    public Empresa obtenerEmpresaPorId(Integer id) throws ModelExcepcion;

    public Collection<Empresa> buscarListaEmpresa(Empresa objEmpresa) throws ModelExcepcion;

    public List<Contacto> buscarRepresentantes(Empresa objEmpresa) throws ModelExcepcion;

    public void guardarEmpresa(Empresa objEmpresa, List<Contacto> listaContacto, 
            UploadedFile fileLogo, UploadedFile fileLogoDoc) throws ModelExcepcion;

    public void actualizarEmpresa(Empresa objEmpresa, Sede sedeAdmnin, List<Contacto> listaContacto,
            UploadedFile fileLogo, UploadedFile fileLogoDoc) throws ModelExcepcion;

    public void eliminarEmpresa(Empresa objEmpresa,String usuario) throws ModelExcepcion;

    public List<Contacto> obtenerListaRepresentantes(Empresa objEmpresa) throws ModelExcepcion;
}
